#!/usr/bin/env bash

# Compare licenses of Go dependencies against a whitelist.

###### script header ######

lib=$(realpath @@BASE_LIB@@) || exit 1
stat "${lib}" >> /dev/null || exit 1

# shellcheck source=../sh/lib.bash
if ! source "${lib}"; then
  echo "Error: could not find import"
  exit 1
fi

cd "${BUILD_WORKSPACE_DIRECTORY}"

###### script body ######

echo "Checking files for missing company license header..."

noHeader=$(
  grep \
    -rL \
    --include='*.go' \
    --exclude-dir 3rdparty \
    --exclude-dir build \
    -e'SPDX-License-Identifier: BUSL-1.1' \
    -e'DO NOT EDIT' | { grep -v internal/cloud/openstack/clouds || true; }
)

if [[ -z ${noHeader} ]]; then
  exit 0
fi

echo "The following files are missing a license header:"
readarray -t <<< "${noHeader}"
for file in "${MAPFILE[@]}"; do
  echo "  ${file}"
done

exit 1
